5.3 TypedDict
typing.TypedDict
辞書にどうしても異種データを格納しなければならない場合のために作られたもの
型チェッカで役立つだけである。実行時のバリデーションはない
辞書が異種コレクションになる場合
APIの返り値
ファイル読み込み(JSON、YAML、TOML、XML、CSV)
型チェッカはあまり役に立たず、辞書の利用者からはどのようなキーがあってどのような値になるのかがわからない。
辞書を自分のコードで作って自分のコードで処理する場合には、dataclass(9章)かclass(10章)
例:APIの返り値をTypedDictをネストさせて表す
https://github.com/pviafore/RobustPython/blob/dafb95d801dff2c8ff7856ba46d3c052d54e0033/code_examples/chapter5/typeddict.py
TypedDictを使えば、APIについて学んだことを直接型システムにコード化できる。
APIが変わったらTypedDictを書き換えて型チェッカで検出